package ve.ucv.patologiaocular.showcase;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import ve.ucv.patologiaocular.dao.CentroDeSaludDAO;
import ve.ucv.patologiaocular.dao.CentroDeSaludDAOImpl;
import ve.ucv.patologiaocular.dao.CentroMedicoDAO;
import ve.ucv.patologiaocular.dao.CentroMedicoDAOImpl;
import ve.ucv.patologiaocular.domain.CentroDeSalud;
import ve.ucv.patologiaocular.domain.Medico;

import com.opensymphony.xwork2.ActionSupport;

public class LlenarMedico extends ActionSupport {

	private static final long serialVersionUID = 4922303189083970600L;
	private static final Log log = LogFactory.getLog(LlenarMedico.class);
	private CentroDeSaludDAO centroDeSaludDAO = null;
	private String centro;
	private CentroDeSalud centroDeSalud;
	private CentroMedicoDAO centroMedicoDAO = null;
	private List<Medico> medicos;
	private String medico;
	private List<Medico> listaMedicos;
	
	public String execute() {
		log.info("build json lists language : " + centro);
		this.centroDeSaludDAO = new CentroDeSaludDAOImpl();
		centroDeSalud = centroDeSaludDAO.buscar(Integer.parseInt(centro));
		
		if(centroDeSalud != null){
			this.centroMedicoDAO = new CentroMedicoDAOImpl();
			listaMedicos = new ArrayList<Medico>();
			medicos = centroMedicoDAO.buscarMedicoActivoPorCentroDeSalud(centroDeSalud.getId());
			
			for(Medico m : medicos){
				listaMedicos.add(new Medico(m.getId(),m.getNombre()+"  "+m.getApellido()+" - "+m.getCodigo()));
			}			
			setListaMedicos(listaMedicos);
		}
		
		return SUCCESS;
	}
	
	public String getJSON()
	{
	    return execute();
	}
	
	public CentroDeSaludDAO getCentroDeSaludDAO() {
		return centroDeSaludDAO;
	}
	
	public void setCentroDeSaludDAO(CentroDeSaludDAO centroDeSaludDAO) {
		this.centroDeSaludDAO = centroDeSaludDAO;
	}
	
	public String getCentro() {
		return centro;
	}
	
	public void setCentro(String centro) {
		this.centro = centro;
	}
	
	public CentroDeSalud getCentroDeSalud() {
		return centroDeSalud;
	}
	
	public void setCentroDeSalud(CentroDeSalud centroDeSalud) {
		this.centroDeSalud = centroDeSalud;
	}
	
	public CentroMedicoDAO getCentroMedicoDAO() {
		return centroMedicoDAO;
	}
	
	public void setCentroMedicoDAO(CentroMedicoDAO centroMedicoDAO) {
		this.centroMedicoDAO = centroMedicoDAO;
	}
	
	public List<Medico> getMedicos() {
		return medicos;
	}
	
	public void setMedicos(List<Medico> medicos) {
		this.medicos = medicos;
	}
	
	public String getMedico() {
		return medico;
	}
	
	public void setMedico(String medico) {
		this.medico = medico;
	}
	
	public List<Medico> getListaMedicos() {
		return listaMedicos;
	}
	
	public void setListaMedicos(List<Medico> listaMedicos) {
		this.listaMedicos = listaMedicos;
	}
	
}
